﻿Public Class Busqueda
    Private baseDeDatos As BBDD
    Private numeroSql As Integer
    Private fechaSql As Date


    Private Sub Busqueda_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        dgResultadoBusquedaAvanzada.Columns.Add(CStr(0), "Tipo")
        dgResultadoBusquedaAvanzada.Columns.Add(CStr(0), "Resultado")
        dgResultadoBusquedaAvanzada.Columns.Add(CStr(0), "")
        dgResultadoBusquedaAvanzada.Columns.Add(CStr(0), "")
        dgResultadoBusquedaAvanzada.Columns.Add(CStr(0), "")
        dgResultadoBusquedaAvanzada.Columns.Add(CStr(0), "")
        dgResultadoBusquedaAvanzada.Columns.Add(CStr(0), "")
        dgResultadoBusquedaAvanzada.Columns.Add(CStr(0), "")
        dgResultadoBusquedaAvanzada.Columns.Add(CStr(0), "")

        baseDeDatos = New BBDD

    End Sub

    Private Sub btBuscar_Click()
        dgResultadoBusquedaAvanzada.Rows.Clear()
        If ModuloBuscarAvanzada.Numerico(tbTexto.Text) Then
            numeroSql = CInt(tbTexto.Text)
        Else
            numeroSql = -1
        End If
        If ModuloBuscarAvanzada.Fecha(tbTexto.Text) Then
            fechaSql = CDate(tbTexto.Text)
        Else
            fechaSql = CDate("01/01/1900")
        End If
        buscarCliente("select * from Clientes where idCliente = " & numeroSql & " or nombre like '%" & tbTexto.Text & "%' or primerApellido like '%" & tbTexto.Text & "%' or segundoApellido like '%" & tbTexto.Text & "%' or telefono = '" & tbTexto.Text & "' or codPostal = '" & tbTexto.Text & "' or fechaNacimiento = cDate('" & fechaSql & "') or email like '%" & tbTexto.Text & "%'; ")
        buscarCita("select * from citas where idCita = " & numeroSql & " or idCliente = " & numeroSql & " or horaEntrada = cDate('" & fechaSql & "') or fecha = cDate('" & fechaSql & "') or idEmpleado = " & numeroSql & " or idTratamiento = " & numeroSql & ";")
        buscarEmpleado("select * from empleados where idEmpleado = " & numeroSql & " or dniEmpleado like '%" & tbTexto.Text & "%' or nombreEmpleado like '%" & tbTexto.Text & "%' or primerApellidoEmpleado like '%" & tbTexto.Text & "%' or segundoApellidoEmpleado like '%" & tbTexto.Text & "%' or telefono like '%" & numeroSql & "%' ;")
        buscarTratamiento("select * from tratamientos where idTratamiento = " & numeroSql & " or nombre like '%" & tbTexto.Text & "%' or descripcion like '%" & tbTexto.Text & "%' or tiempoEstimado = " & numeroSql & " or precio = " & numeroSql & ";")
    End Sub

    Private Sub btBusquedaAvanzada_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        BusquedaAvanzada.ShowDialog()
    End Sub

    Private Sub buscarCita(ByVal sql As String)
        baseDeDatos.EjecutarComandoSelect(sql)
        If baseDeDatos.lector.HasRows Then
            While baseDeDatos.lector.Read()
                dgResultadoBusquedaAvanzada.Rows().Add("Cita", baseDeDatos.lector(0), baseDeDatos.lector(1), baseDeDatos.lector(2), baseDeDatos.lector(3), baseDeDatos.lector(4), baseDeDatos.lector(5))
            End While
        Else
            dgResultadoBusquedaAvanzada.Rows().Add("Cita", "Resultado 0")
        End If
        baseDeDatos.lector.Close()
        baseDeDatos.Desconectar()
    End Sub

    Private Sub buscarCliente(ByVal sql As String)
        baseDeDatos.EjecutarComandoSelect(sql)
        If baseDeDatos.lector.HasRows Then
            While baseDeDatos.lector.Read()
                dgResultadoBusquedaAvanzada.Rows().Add("Cliente", baseDeDatos.lector(0), baseDeDatos.lector(1), baseDeDatos.lector(2), baseDeDatos.lector(3), baseDeDatos.lector(4), baseDeDatos.lector(5), baseDeDatos.lector(6), baseDeDatos.lector(7))
            End While
        Else
            dgResultadoBusquedaAvanzada.Rows().Add("Cliente", "Resultado 0")
        End If
        baseDeDatos.lector.Close()
        baseDeDatos.Desconectar()
    End Sub

    Private Sub buscarEmpleado(ByVal sql As String)
        baseDeDatos.EjecutarComandoSelect(sql)
        If baseDeDatos.lector.HasRows Then
            While baseDeDatos.lector.Read()
                dgResultadoBusquedaAvanzada.Rows().Add("Empleado", baseDeDatos.lector(0), baseDeDatos.lector(1), baseDeDatos.lector(2), baseDeDatos.lector(3), baseDeDatos.lector(4), baseDeDatos.lector(5))
            End While
        Else
            dgResultadoBusquedaAvanzada.Rows().Add("Empleado", "Resultado 0")
        End If
        baseDeDatos.lector.Close()
        baseDeDatos.Desconectar()
    End Sub

    Private Sub buscarTratamiento(ByVal sql As String)
        baseDeDatos.EjecutarComandoSelect(sql)
        If baseDeDatos.lector.HasRows Then
            While baseDeDatos.lector.Read()
                dgResultadoBusquedaAvanzada.Rows().Add("Tratamiento", baseDeDatos.lector(0), baseDeDatos.lector(1), baseDeDatos.lector(2), baseDeDatos.lector(3), baseDeDatos.lector(4))
            End While
        Else
            dgResultadoBusquedaAvanzada.Rows().Add("Tratamiento", "Resultado 0")
        End If
        baseDeDatos.lector.Close()
        baseDeDatos.Desconectar()
    End Sub
#Region "eventos"
    

#Region "eventos picture"

    Private Sub Picture_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBoxCancelar.Click, PictureBoxBusqueda.Click, PictureBoxBuscar.Click

        Dim auxPicture As PictureBox = CType(sender, PictureBox)

        Select Case auxPicture.Name
            Case PictureBoxBuscar.Name
                btBuscar_Click()
            Case PictureBoxCancelar.Name
                Me.Close()
            Case PictureBoxBusqueda.Name
                btBusquedaAvanzada_Click(sender, e)
        End Select

    End Sub

    Private Sub Picture_MouseHover(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBoxCancelar.MouseHover, PictureBoxBusqueda.MouseHover, PictureBoxBuscar.MouseHover

        Dim auxPicture As PictureBox = CType(sender, PictureBox)

        Select Case auxPicture.Name
            Case PictureBoxBuscar.Name
                PictureBoxBuscar.BackgroundImage = Image.FromFile("Img/Botones/BBuscarCon.png")
            Case PictureBoxBusqueda.Name
                PictureBoxBusqueda.BackgroundImage = Image.FromFile("Img/Botones/BBuscarAvCon.png")
            Case PictureBoxCancelar.Name
                PictureBoxCancelar.BackgroundImage = Image.FromFile("Img/Botones/BCancelarCon.png")

        End Select

    End Sub

    Private Sub Picture_MouseLeave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBoxCancelar.MouseLeave, PictureBoxBusqueda.MouseLeave, PictureBoxBuscar.MouseLeave

        Dim auxPicture As PictureBox = CType(sender, PictureBox)

        Select Case auxPicture.Name
            Case PictureBoxBuscar.Name
                PictureBoxBuscar.BackgroundImage = Image.FromFile("Img/Botones/BBuscarSin.png")
            Case PictureBoxBusqueda.Name
                PictureBoxBusqueda.BackgroundImage = Image.FromFile("Img/Botones/BBuscarAvSin.png")
           
            Case PictureBoxCancelar.Name
                PictureBoxCancelar.BackgroundImage = Image.FromFile("Img/Botones/BCancelarSin.png")

        End Select

    End Sub

#End Region

#End Region
   
End Class